// [[ OnflowGenerator File UUID: 511d461c490e463eae0a157cd6811b91  ]]
package com.itdct.onflow.system.component.qo

import com.itdct.onflow.core.qo.BaseQo
import com.itdct.onflow.core.type.Add
import com.itdct.onflow.core.type.Update
import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.NotBlank
import jakarta.validation.constraints.NotNull
import org.hibernate.validator.constraints.Length

/**
 * @author DCTANT
 * @date 2025-09-15 16:13:06
 * @version 1.0
 * @description 系统组件编辑入参
 */
@Schema(name = "系统组件编辑入参", description = "系统组件编辑入参")
class SysComponentEditQo : BaseQo() {
    // [[ OnflowGenerator Range (- fields -) Start ]]
    @Schema(title = "组件标题", example = "")
    @NotBlank(message = "请输入组件标题", groups = [Add::class, Update::class])
    @Length(max = 200, message = "组件标题不能超过200个字符", groups = [Add::class, Update::class])
    var title: String? = null

    @Schema(title = "组件编码", example = "")
    @NotBlank(message = "请输入组件编码", groups = [Add::class, Update::class])
    @Length(max = 200, message = "组件编码不能超过200个字符", groups = [Add::class, Update::class])
    var code: String? = null

    @Schema(title = "菜单ID", example = "")
    @NotNull(message = "请输入菜单ID", groups = [Add::class, Update::class])
    var menuId: Long? = null

    @Schema(title = "是否启用", example = "")
    @NotNull(message = "请输入是否启用", groups = [Add::class, Update::class])
    var enable: Boolean? = null

    @Schema(title = "组件类型", example = "")
    @Length(max = 200, message = "组件类型不能超过200个字符", groups = [Add::class, Update::class])
    var type: String? = null

    @Schema(title = "图标", example = "")
    @Length(max = 500, message = "图标不能超过500个字符", groups = [Add::class, Update::class])
    var icon: String? = null

// [[ OnflowGenerator Range (- fields -) End ]]
}